In der Quellcode Ansicht werden für die in ingenious erstellten Stücklisten sämtliche Aufmaßdaten und Leistungspositionen definiert.
Quellcode Ansicht einer Stückliste |
Der Aufmaßdatenbereich wird definiert mit der Methode:
Example Title |
Kopiere Code |
---|---|
protected override void Build() { } |
Der Leistungsdatenbereich wird definiert mit der Methode:
Example Title |
Kopiere Code |
---|---|
protected override void Calculate() { } |
Die einzelnen Befehle werden über eine TypeAhead-Funktionalität bereitgestellt. Sobald in einer neuen Zeile die Anfangsbuchstaben eines Befehls geschrieben werden, erscheint eine Auswahlliste mit allen verfügbaren Befehlen. Aus dieser Liste kann der gewünschte Befehl eingesetzt werden. Zur Vereinfachung der Stücklistenprogrammierung wird die gesamte Stücklisten-Befehlszeile mit ihrem Syntax eingefügt, so dass der Bearbeiter nur noch die einzelnen Werte entsprechend überschreiben muss.
Stücklistenbefehle beginnen mit einem großem Anfangsbuchstaben, C#-Schlüsselwörter sind komplett klein geschrieben.
Kontextmenü zur Auswahl von Stücklistenbefehlen |
Für die markierte Zeile erscheint am unteren Fensterrand außerdem ein Tooltip zum Syntax des Befehls.
Beispiel-Aufbau einer Befehlszeile:
Conf_Dropdown("Name", "Titel", "Tooltip", "(Default-)Wert", "Werteliste", Boolean Sichtbar, "Vordergrundfarbe", "Hintergrundfarbe");
Conf_Dropdown("vKSize", "Größe", "Bitte Kastengröße auswählen", "137", "137;165;180", true, "black", "RGB(255,200,100)");
Bedeutung: Die Option Kastengröße erhält den Variablennamen vKSize, in der Checkliste steht Größe, dem Benutzer wird als Tooltip "Bitte Kastengröße auswählen" angezeigt, Der Standardwert ist 137, Der Benutzer kann aus den Werten 137, 165 und 180 wählen, die Option ist in der Checkliste sichtbar, die Schriftfarbe ist schwarz, die Hintergrundfarbe ist ein Orangeton.
Generell gilt:
Syntax | Bedeutung |
Name | Eindeutiger Variablenname zur Identifizierung innerhalb der Stückliste |
Titel | Bezeichnung der Option wie sie dem Endbenutzer angezeigt werden soll |
Tooltip | Hilfs- bzw. Beschreibungstext, der dem Benutzer am unteren Rand der Checkliste angezeigt wird, für die aktive Option in der Checkliste |
Wert | Für die Option verfügbarer Wert |
Werteliste | Für die Option verfügbare Werte, per Semikolon getrennt |
dWert | Zahl |
iWert | Ganzzahl |
bMarkiert | Boolean Definition zur Vorbelegung einer Checkbox. Mögliche Werte true und false |
Es stehen die folgenden Stücklisten-Befehle zur Verfügung:
Befehl | Beschreibung |
Alert | Ausgabe einer Hinweis- / Fehlermeldung ohne Abbruch Alert("Text"); |
ConfLine | Zeile mit Aufmaßdefinitionen in der Kompatibilitätsansicht einer aus einer ingenious Vor-Version importierten Stückliste |
Conf_Checkbox | Zeile zur Aufmaßdefinition in Form einer Checkbox Conf_Checkbox("Name", "Titel", "Tooltip", bMarkiert); |
Conf_Combobox | Zeile zur Aufmaßdefinition in Form einer Auswahlliste mit der Möglichkeit, Werte zu überschreiben Conf_Combobox("Name", "Titel", "Tooltip", "Wert", "Werteliste"); |
Conf_Dropdown | Zeile zur Aufmaßdefinition in Form einer festen (nicht überschreibbaren) Auswahlliste Conf_Dropdown("Name", "Titel", "Tooltip", "Wert", "Werteliste"); |
Conf_Integer | Zeile zur Aufmaßdefinition in Form einer Ganzzahl Conf_Integer("Name", "Titel", "Tooltip", iWert); |
Conf_Number | Zeile zur Aufmaßdefinition in Form einer Zahl Conf_Number("Name", "Titel", "Tooltip", dWert); |
Conf_Section | Definition einer einfachen Überschrift in der Checkliste Conf_Section("Name", "Titel"); |
Conf_Size | Definition der Größe der Checkliste (ohne Bildbereich), Angabe der 1. Breite und 2. Höhe in Pixeln Conf_Size(iWert, iWert) |
Conf_Split | Definition des Teilers der Checkliste, bestimmt die Größe des Definitionsbereichs links und des Auwahlbereichs rechts, die Angabe erfolgt in Prozent und gilt für den Definitionsbereich Conf_Split(Wert) |
Conf_Text | Fügt ein freies Textfeld in die Checkliste ein. Conf_Text("Name", "Titel", "Tooltip", "Wert"); |
Conf_Title | Fügt eine Gruppen-Überschrift in die Checkliste ein. Ermöglicht das Ein- und Ausblenden der gesamten Gruppe. Conf_Title("Name", "Titel") |
DrawPict | Ausgabe eines gespeicherten Bildes. |
Error | Ausgabe eines Fehlers mit Abbruch Error("Text"); |
Eval | Ausführen einer Stücklisten-Berechnung var Fläche = Eval("jum.x * jum.y / 10000"); |
GetValue | Auslesen einer Stücklistenvariable. String Breite = GetValue("jum.x"); |
GetValue<Type> | Auslesen einer Stücklistenvariable und Konvertierung in einen anderen Datentyp als String. Double dBreite = GetValue<Double>("jum.x"); |
Message | Erzeugt eine Fehlermeldung deren Bedingung nach jeder Veränderung der Stückliste überprüft wird. Message("Text"); |
MultiposVariable | Definition einer Variable als Multipositions-Eingabevariable. Kann mehrfach aufgerufen werden. MultiposVariable("jum.Farbe"); |
SetValue | Speichert einen Wert in einer Stücklistenvariable. SetValue("DruckBreite", "1250"); |
ValueExists | Prüfung, ob eine Stücklistenvariable vorhanden ist. Boolean DruckBreiteGesetzt = ValueExists("DruckBreite"); |
Generell gilt:
Syntax | Bedeutung |
Name | Eindeutiger Variablenname zur Identifizierung innerhalb der Stückliste |
dMenge | Verbrauchte Artikelanzahl |
dVerkaufspreis | Verkaufspreis bei freien Hilfs-Artikeln (BOM_Price) |
dEinkaufspreis | Einkaufspreis bei freien Hilfs-Artikeln (BOM_Price) |
dStundensatz | Stundenlohn bei freien Zeit-Artikeln (BOM_Time) |
dMinuten | Anzahl der Minuten bei freien Zeit-Artikeln (BOM_Time) |
Es stehen die folgenden Stücklisten-Befehle zur Verfügung:
Befehl | Beschreibung |
Alert | Ausgabe einer Hinweis- / Fehlermeldung ohne Abbruch Alert("Text"); |
BOMLine | Zeile mit Leistungsdefinitionen in der Kompatibilitätsansicht einer aus einer ingenious Vor-Version importierten Stückliste |
BOM_Item | Aufruf eines Artikels aus dem Produktkatalog BOM_Item("Name", "Matchcode/Artikelnummer", dMenge); |
BOM_Price | Aufruf eines freien (Hilfs-)Artikels, der nicht im Produktkatalog gespeichert ist BOM_Price("Name", "Text", dMenge, dVerkaufspreis, dEinkaufspreis); |
BOM_Time | TimeAufruf eines freien Zeit-Artikels, der nicht im Produktkatalog gespeichert ist BOM_Time("Name", "Text", dMenge, dStundensatz, dMinuten); |
Eval | Ausführen einer Stücklisten-Berechnung var Fläche = Eval("jum.x * jum.y / 10000"); |
GetValue | Auslesen einer Stücklistenvariable. String Breite = GetValue("jum.x"); |
GetValue<Type> | Auslesen einer Stücklistenvariable und Konvertierung in einen anderen Datentyp als String. Double dBreite = GetValue<Double>("jum.x"); |
SetValue | Speichert einen Wert in einer Stücklistenvariable. SetValue("DruckBreite", "1250"); |
ValueExists | Prüfung, ob eine Stücklistenvariable vorhanden ist. Boolean DruckBreiteGesetzt = ValueExists("DruckBreite"); |
Eine Übersicht über alle verfügbaren C# Schlüsselwörter ist in der Microsoft MSDN Dokumentation zu finden.
Zur Nachverfolgung von Änderungen an der Stückliste oder zum Wiedereinspielen einer Vorversion bei evtl. Unstimmigkeiten nach einer Änderung können Versionen der Stückliste abgelegt werden. Zusätzlich werden vom Programm automatisch Versionen gespeichert, sobald Änderungen an der Stückliste vorgenommen wurden, und die geänderte Stückliste erstmalig in einer Projekt-Position verwendet wird.
Die Stücklisten-Versionen werden außerdem zur Änderung und Rekalkulation von Projekt-Positionen herangezogen, die immer auf der Basis der zum Zeitpunkt ihrer Erstellung gültigen Version berechnet werden.
Über den Button der Symbolleiste wird die Quellcode-Verwaltung geöffnet. Sie enthält eine Liste aller gespeicherten Versionen der Stückliste mit einem Hash, dem Kommentar, Log des Datums und der Uhrzeit der Speicherung, dem Benutzer und einer Kennzeichnung, ob mit dieser Stücklisten-Version Projekt-Positionen angelegt wurden.
Versionsübersicht einer Stückliste |
Für die Stücklisten-Verwaltung stehen die folgenden Bearbeitungs-Funktionen über die Symbolleiste zur Verfügung:
Legt für die Stückliste in der aktuellen Form eine Version in der Historie ab. | |
Löscht die markierte Stücklisten-Version. Hinweis: Das Löschen ist nur möglich, solange noch keine Projekt-Position mit dieser Stücklisten-Version erstellt wurde. | |
Lädt die ausgewählte Version der Stückliste und überschreibt damit die bestehende. |
Mit dem Auftrags XML Import bietet die Software eine Schnittstelle, um Bestellungen eines Kunden über eine XML direkt als Auftragsdokument in ingenious zu importieren.
Damit bei Stücklisten die Konfiguration vollständig in der Bestellung abgebildet wird, wird aus dem Konfigurator eine Vorgabe für den Kunden extrahiert.
Welche Optionen und eventuelle Standardwerte berücksichtigt werden sollen, wird über den Button konfiguriert.
Im sich öffnenden Konfigurator wird eingestellt
Die Werte, die für die einzelnen Optionen ausgewählt werden, werden als Standardwerte übernommen.
Diese können dann je Kunde in seinen XML Einstellungen angepasst werden.
Vorkonfiguration XML Auftragsimport einer Stückliste |